/**
 * @file dbgenre.h
 * @brief Fichier d'entête du module dbgenre.
 *
 * @author Delory Rachid, Keita Mamadou, Bernard Florian
 */
#ifndef H_DB_GENRE_H
#define H_DB_GENRE_H

/* *********************************************************************

                   Librairies de Regroupement

********************************************************************* */

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "database.h"
#include "../core/ensemble.h"
#include "../core/genre.h"
#include "../core/date.h"

typedef enum {

  REGROUPEMENT_DGEN = 0,
  OEUVRE_DGEN = 1,
  GENRE_DGEN = 3,
  SEUL_DGEN = 4
}DBTYPE;


/* *********************************************************************

                Fonctions relatives aux genres

********************************************************************* */

/**
 * @fn void recuperation_DGen(Ensemble * Element, const int id, DBTYPE type)
 * @brief Récupération des genres dont l' element est l'id
 *
 * @param[in,out] Element
 * @param id
 * @param type
 */
void recuperation_DGen(Ensemble * Element, const int id, DBTYPE type);

/**
 * @fn void insertion_DGen(Genre *genre);
 * @brief Insertion du genre
 *
 * @param[in,out] genre
 */
void insertion_DGen(Genre *genre);

/**
 * @fn void suppression_DGen(const int id);
 * @brief suppression du genre
 *
 * @param id
 */
void suppression_DGen(const int id);

/* *********************************************************************

                       Test de Non Régression

********************************************************************* */

/**
 * @fn void regression_DGen()
 * @brief Teste toutes les fonctions du module dbgenre.
 */
void regression_DGen();


#endif
